import React, { Component } from 'react';
// 引入 connect 方法
import {connect} from 'react-redux';

class ComA extends Component {
    handleClick = () => {
        console.log('ComA:',this.props);
        // 发送Action
        this.props.sendAction()
    }
    render() {
        return (
            <button onClick = {this.handleClick}>点我+1</button>
        );
    }
}

// 这个函数要有一个返回值，返回值是一个对象
const mapDispatchToProps = (dispatch) => {
    return {
        // key  value 的形式
        sendAction: () => {
            //利用dispatch发送一个 Action
            //传递action对象，我们要定义一个type属性
            dispatch({
                type: 'add_action'
            })
        }
    }
}

// ComA 是发送方，所以需要用到 connect 的第二个参数,然后导出的就不是ComA而是用connect加强过的ComA
export default connect(null, mapDispatchToProps)(ComA)

